let fs = require('fs');
let path = require('path');
let directoryPath = __dirname; // 确保路径相对于脚本所在目录

// 步骤1：读取目录下的 .json 文件，获取 key 的最大值
function getMaxIndexFromJsonFiles(dirPath) {
  let files = fs.readdirSync(dirPath);
  let maxIndex = 0;
  files.forEach(file => {
    if (path.extname(file) === '.json') {
      let filePath = path.join(dirPath, file);
      let data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
      let keys = Object.keys(data).map(Number);
      let currentMax = Math.max(...keys);
      if (currentMax > maxIndex) {
        maxIndex = currentMax;
      }
    }
  });
  return maxIndex;
}

// 步骤2：读取目录下的所有 .mp4 文件，批量更改为 index + 1.bat 的格式
function renameMp4Files(dirPath, index) {
  let files = fs.readdirSync(dirPath);
  let renameMap = {};
  files.forEach(file => {
    if (['.mp4', '.zip', '.jpg', '.jpeg', '.png', '.webp'].includes(path.extname(file))) {
      let oldPath = path.join(dirPath, file);
      let newName = `${index + 1}.bat`; // 新文件名为 index + 1.bat
      let newPath = path.join(dirPath, newName);
      fs.renameSync(oldPath, newPath);
      renameMap[index + 1] = file; // 记录原始文件名
      index++;
    }
  });
  return renameMap;
}

// 步骤3：将 index + 1 作为 key，原始文件名称作为 value，保存为 rename.json 文件
function saveRenameMapToJson(dirPath, renameMap) {
  let renameFilePath = path.join(dirPath, '批量重命名文件操作.json');
  fs.writeFileSync(renameFilePath, JSON.stringify(renameMap, null, 2));
}

// 主函数
function main() {
  console.log('当前工作目录:', process.cwd());
  console.log('脚本所在目录:', __dirname);
  console.log('将保存 批量重命名文件操作.json 到:', directoryPath);

  // let maxIndex = getMaxIndexFromJsonFiles('D:\\华为家庭存储\\PrivateSpace\\Audiovisual');

  // let maxIndex = getMaxIndexFromJsonFiles('D:\\华为家庭存储\\PrivateSpace\\Audiovisual\\VideoEditor');
  // let renameMap = renameMp4Files('D:\\HONOR Share\\Backup\\Videos\\myphone_3E1B03C3EAC3\\VideoEditor', maxIndex);

  // let maxIndex = getMaxIndexFromJsonFiles('D:\\华为家庭存储\\PrivateSpace\\DiscoverBeauty');
  // let renameMap = renameMp4Files('D:\\HONOR Share\\Backup\\Photos\\myphone_3E1B03C3EAC3\\WeiXin', maxIndex);

  let maxIndex = getMaxIndexFromJsonFiles('D:\\华为家庭存储\\PrivateSpace\\CloudCollection');
  let renameMap = renameMp4Files('D:\\HONOR Share\\Backup\\Videos\\myphone_3E1B03C3EAC3\\云收藏文件', maxIndex);

  saveRenameMapToJson(directoryPath, renameMap);
  console.log('文件重命名完成，批量重命名文件操作.json 已保存。');
}

// 执行主函数
main();
